import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { ScrollingModule } from '@angular/cdk/scrolling';
import { DragDropModule } from '@angular/cdk/drag-drop';
import { IconModule } from '../icon/api';
import { CheckboxModule } from '../checkbox/api';
import { OverflowModule } from '../overflow/api';
import { HighlightModule } from '../highlight/highlight.module';
import { TreeComponent } from './tree.component';
import { TreeNodeComponent } from './tree-node.component';
import { TreeIndentComponent } from './tree-indent.component';

const COMPONENTS = [TreeComponent, TreeNodeComponent, TreeIndentComponent];

@NgModule({
  declarations: [...COMPONENTS],
  imports: [
    CommonModule,
    IconModule,
    FormsModule,
    CheckboxModule,
    OverflowModule,
    ScrollingModule,
    HighlightModule,
    DragDropModule,
  ],
  exports: [COMPONENTS],
})
export class TreeModule {}
